package cn.singno.bob.jpa.annotation.core;

import java.util.List;

import org.apache.commons.lang3.EnumUtils;

/**
 * <p>名称：SearchOperator.java</p>
 * <p>描述：数据库操作枚举类</p>
 * <pre>
 *    
 * </pre>
 * @author 鲍建明
 * @date 2014年8月11日 下午10:48:06
 * @version 1.0.0
 */
public enum SearchOperator {
	
	/**
	 * 比较
	 */
	EQ, 
	/**
	 * 模糊
	 */
	LIKE, 
	/**
	 * 大于
	 */
	GREATER,
	/**
	 * 大于等于
	 */
	GREATER_EQ,
	/**
	 * 包含
	 */
	IN,
	/**
	 * 小于
	 */
	LESS,
	/**
	 * 小于等于
	 */
	LESS_EQ,
	/**
	 * ..之间
	 */
	BETWEEN_AND,
	
	/**
	 * 排序
	 */
	ORDERBY, 
	
	/**
	 * 出现未知属性
	 */
	DEFAULT,
	;
	
	
	/**
	 * 
	 * <p>描述：通过操作名称获取当前指定枚举类型</p>
	 * <pre>
	 *    
	 * </pre>
	 * @param operatorName
	 * @return
	 */
	public static SearchOperator getSearchOperator(String operatorName){
		List<SearchOperator> enums = EnumUtils.getEnumList(SearchOperator.class);
		for (SearchOperator searchOperator : enums) {
			if(searchOperator.toString().equalsIgnoreCase(operatorName)){
				return searchOperator;
			}
		}
		return SearchOperator.DEFAULT;
	}
	
}
